package JZ_Offer.dataStructure.tree;

import base.TreeNode;

import java.util.ArrayList;

/**
 * todo
 *
 * 二叉树中和为某一值的路径(三)
 * <p>
 * 给定一个二叉树root和一个整数值 sum ，求该树有多少路径的的节点值之和等于 sum 。
 * 1.该题路径定义不需要从根节点开始，也不需要在叶子节点结束，但是一定是从父亲节点往下到孩子节点
 * 2.总节点数目为n
 * 3.保证最后返回的路径个数在整形范围内(即路径个数小于231-1)
 * <p>
 * 输入：
 * {1,2,3,4,5,4,3,#,#,-1},6
 * 返回值：
 * 3
 * 说明：
 * 如图所示，有3条路径符合
 */
public class JZ84_二叉树中和为某一值的路径_3 {

    public static int FindPath(TreeNode root, int sum) {
        // write code here
        return 0;
    }

    public static void main(String[] args) {
        TreeNode a = new TreeNode(1);
        TreeNode b = new TreeNode(2);
        TreeNode c = new TreeNode(3);
        TreeNode d = new TreeNode(4);
        TreeNode e = new TreeNode(5);
        TreeNode f = new TreeNode(6);
        TreeNode g = new TreeNode(7);

        a.left = b;
        a.right = c;
        b.left = d;
        b.right = e;
        c.left = f;
        c.right = g;

        ArrayList<Integer> path = new ArrayList<>();
        ArrayList<ArrayList<Integer>> ret = new ArrayList<>();
        FindPath(a, 7);
        System.out.println(ret);
    }

}
